
# 注册
# 登录
# 购物车
# 退出

username_list = []
goods_dict={"1":"数据结构","2":"计算机操作系统","3":"计算机网络","4":"计算机组成原理","5":"C语言从入门到精通"}
shopping_cart_dict={}
dic={}

# 注册
def register():
    print("注册".center(40,"*"))
    while True:
      username1=input("请输入你的姓名:")
      password1=input("请输入你的密码:")
      re_password=input("请再次输入你的密码:")
      if password1==re_password:
          print(f"您的名字是:{username1}")
          print(f"您的密码是:{password1}")
          dic[username1] = password1
          print("注册成功".center(40,"*"))
          break
      else:
          print("两次输入的密码不一致，重新输入")

#登录
def login():
    print("登录".center(40,"&"))
    count=0
    while count<3:
        if username_list:
            print("您已登录")
            break

        username1=input("请输入你的用户名:")
        password1=input("请输入你的密码:")
        if username1 in dic.keys():
            if password1==dic[username1]:
                username_list.append(username1)
                print("登录成功")
                count=3
                break
        else:
            count+=1
            print("用户名错误，重新输入")


#购物
def shopping():
    print("购物".center(40,"$"))
    while True:
        if not username_list:
            print("请先登录")
            break
        print('''
        1  数据结构
        2  计算机操作系统
        3  计算机网络
        4  计算机组成原理
        5  C语言从入门到精通
        ''')
        choice = input("请输入你想要的的书籍序号，其他任意内容回到主菜单:")
        if choice not in ["1","2","3","4","5"]:
            break
        #判断商品是否存在，若已经存在，则数量+1；若不存在，数量为1
        goods_name=goods_dict[choice]
        if goods_name in shopping_cart_dict:
            shopping_cart_dict[goods_name]+= 1
        else:
            shopping_cart_dict[goods_name] = 1
        print(f"已添加至购物车,当前购物车商品为:\n{shopping_cart_dict}")

#购物车
def shopping_cart():
    print("购物车".center(40,"%"))
    if not username_list:
        print("请先登录")
        return
    print(f"购物车当前存在的商品有:{shopping_cart_dict}")
    buy_choice = input("确认购买请输入y,其他任意内容退回主菜单:")
    if buy_choice not in ["y","Y"]:
        return
    shopping_cart_dict.clear()
    print("购买成功")

#退出登录
def logout():
    if not username_list:
        print("请先登录")
        return
    choice = input("请输入Q键退出，其他任意内容回到主页面:")
    if choice not in ["q","Q"]:
        return
    username_list.clear()
    print("退出登录")


func_dict ={
    "1": register,
    "2": login,
    "3": shopping,
    "4": shopping_cart,
    "5": logout
}
#功能菜单
def func():
    print("欢迎进入三乐购物系统".center(50,"@"))
    while True:
        print("功能菜单栏".center(40,"*"))
        print('''
        1: 注册
        2: 登录
        3: 购物
        4: 购物车
        5: 退出系统
        ''')
        choice = input("请输入编号选择功能,其他任意内容退出程序:")
        if choice not in func_dict:
            break
        func_dict[choice]()


func()